package br.ufc.spaceinvaders;

import java.awt.Image;
import java.awt.Rectangle;

import javax.swing.ImageIcon;

/**
 * 
 * Classe que representa um Missel da nave, 
 * contendo os atributos e métodos para que ela sirva de modelo para 
 * o compomente que aparecerá na tela que também representa um missel
 * 
 */
public class Missel {

	private Image imagem;
	private int x, y;
	private int largura, altura;
	private boolean isVisivel;

	private static final int LARGURA_TELA = 500;
	private static final int VELOCIDADE = 2;

	/**
	 * Instancia um objeto do tipo Inimigo atráves de duas coordenadas.
	 * 
	 * @param x coordenada x
	 * @param y coordenada y
	 */
	public Missel(int x, int y) {
		
		this.x = x;
		this.y = y;

		ImageIcon referencia = new ImageIcon("res/missel.png");
		imagem = referencia.getImage();

		this.largura = imagem.getWidth(null);
		this.altura = imagem.getHeight(null);
		
		
		isVisivel = true;

	}

	/**
	 * Atualiza à coordenada x para que se tenha impressão de movimento no componente gráfico
	 */
	public void mexer() {

		this.x += VELOCIDADE;
		if (this.x > LARGURA_TELA) {
			isVisivel = false;
		}
	}

	public boolean isVisivel() {
		return isVisivel;
	}

	public void setVisivel(boolean isVisivel) {
		this.isVisivel = isVisivel;
	}

	public int getX() {
		return x;
	}

	public int getY() {
		return y;
	}

	public Image getImagem() {
		return imagem;
	}
	
	/**
	 * 
	 * @return  um objeto Rectangle que irá ser necessário para o tratamento de colissão
	 */
	public Rectangle getBounds(){
		return new Rectangle(x,y,largura,altura);
	}

}
